const STORAGE_KEY = 'localHistory';

/**
 * 获取所有浏览记录
 * @returns {Array} 浏览记录数组
 */
export const getLocalHistory = () => {
  const data = wx.getStorageSync(STORAGE_KEY);
  return data ? JSON.parse(data) : [];
};

/**
 * 添加浏览记录（避免重复）
 * @param {Object} record 记录对象，必须包含 id
 */
export const addHistory = (record) => {
  if (!record || !record.id) {
    console.error('Record must have an id');
    return;
  }
  // record.id = "222"

  let history = getLocalHistory(); // 读取存储的数据

  // 检查是否已存在
  const exists = history.some(item => item.id === record.id);
  if (exists) {
    console.warn('记录已存在:', record);
    return;
  }

  history.unshift(record); // 新记录放到最前面
  wx.setStorageSync(STORAGE_KEY, JSON.stringify(history));
};

/**
 * 删除指定 id 的浏览记录
 * @param {string|number} id 需要删除的记录 ID
 */
export const removeHistory = (id) => {
  let history = getLocalHistory();
  history = history.filter(item => item.id !== id);
  wx.setStorageSync(STORAGE_KEY, JSON.stringify(history));
};

/**
 * 清空所有浏览记录
 */
export const clearHistory = () => {
  wx.removeStorageSync(STORAGE_KEY);
};
